\chapter{Xin chào}

\section{Mã nguồn}

\lstinputlisting[label=ch-helloworld-HelloWorld,caption=Chương trình Xin chào - HelloWorld.cpp,language=C++]{src/helloworld/HelloWorld.cpp}
\lstinputlisting[label=ch-helloworld-CMakeLists,caption=Tổ chức mã nguồn - CMakeLists.txt,language=cmake]{src/helloworld/CMakeLists.txt}

\section{Biên dịch và chạy chương trình}

\subsection{Tạo mã biên dịch Makefile}
\begin{enumerate}
\item Vào \QtC, chọn \emph{"File/Open File or Project ..."}.
\item Chọn file \verb#CMakeList.txt#.
\item \QtC hỏi thư mục biên dịch (build-directory), tạo và chọn thư mục \verb#build#
trong thư mục mã nguồn (có thể chọn thư mục bất kì nhưng để tiện theo dõi ta chọn thư mục 
\verb#build# nằm trong thư mục chứa mã nguồn).
\item Nhấn vào nút \emph{"Run CMake"}, \QtC sẽ tìm kiếm các file mã nguồn được khai báo
trong \verb#CMakeList.txt# và tổ chức mã biên dịch (dạng \verb#Makefile#). Nhấn nút "Finish"
để quay lại cửa sổ chính của \QtC. Bạn sẽ thấy các file của chương trình ở cột bên trái màn hình.
\end{enumerate}
Quá trình này chỉ cần làm một lần trừ khi tổ chức mã nguồn trong file\\\verb#CMakeLists.txt# thay đổi
do bạn thêm, bớt hoặc sửa tên file mã nguồn. Khi đó \QtC sẽ tự động đề nghị người dùng chạy \verb#CMake#
lại để tạo mã biên dịch \verb#Makefile#.

\subsection{Biên dịch và chạy chương trình}

Để biên dịch, bạn hãy chọn menu \emph{"Build/Build project "HelloWorld""} hoặc nhấn tổ hợp phím \verb#Ctrl+B#.
\QtC sẽ sử dụng trình biên dịch C++ của hệ thống để biên dịch file \verb#HelloWorld.cpp# thành
file mã máy (executable file) có tên \verb#helloworld# trong thư mục \verb#build#.

Trước khi chạy chương trình,
bạn nhớ kiểm tra trong phần \emph{Projects} (ở bên trái màn hình), mục \emph{Run Settings/Run configurations}
xem \emph{"helloworld"} đã được chọn hay chưa. Nếu chưa chọn, bạn hãy chọn \emph{"helloworld"}
trong phần Run configurations. Sau đó, bạn ấn vào menu \emph{"Build/Run"} hoặc nhấn tổ hợp \verb#Ctrl+R#
để chạy chương trình. Kết quả của chương trình là dòng chữ
\begin{verbatim}
Xin chao !!!
\end{verbatim}
trên màn hình.

\subsection{Giải thích mã nguồn}
